#ifndef __GLOAB_H_
#define __GLOAB_H_

#include <stdint.h>

typedef struct 
{
    int32_t step_input;             // 外部控制脉冲输入定时器的值
    int32_t step_input_offset;      // 上电初始外部控制脉冲输入偏移值
    int32_t motor_pos_set;          // 指令电机位置
    int32_t motor_pos_set_last;
    int32_t encoder_cnt;            // 编码器的读数值
    int32_t encoder_cnt_last;
    int32_t motor_pos;              // 实际电机位置值
    int32_t motor_pos_last;
    int32_t advance;                // 电机控制提前角度
    int32_t motor_rev_cnt;          // 电机旋转圈数
    int32_t motor_pos_err;          // 误差值等于指令电机位置值减去实际电机位置值
    int32_t pid_iterm;              // PID控制i积分项
    int32_t pid_dterm;              // PID控制d微分项
    int32_t vector_current;         // 矢量控制电流大小
    int32_t half_current_cnt;       // 开环模式下半流控制计数值
    uint8_t dir;                    // 电机旋转方向
}motor_ctrl_data_t;

motor_ctrl_data_t & motor_data_get(void);



#endif // __GLOAB_H_

